During the last 10-15 years, the volume of software that has been generated in the United States and the rest of the world has been enormous. This growth in software has in part been fed by the proliferation of relatively inexpensive, high performance, personal computer systems. Many of these computers have, by standards of only a few years ago, very large random access memories. As a result, very complex, sophisticated languages and application programs are now available for use with desk-top computers.
Along with this explosion in software there has been an enormously increased need for accurate, and timely user documentation. The need for accurate and timely user documentation is exacerbated by the fact that the majority of users of these sophisticated and complex application programs are not programmers or analysts but are business persons.
Today's user, as a result of the wholesale proliferation of personal computer systems, on average knows less about the operation of his or her computer system and the related software than at any other time. Hence, such users need accurate and timely user documentation more than ever.
The present need for accurate and timely user documentation must be viewed against a relatively long-term failure of the data processing industry to effectively deal with the documentation problem. It has been estimated that 90% of the world's computer software is undocumented. Further, it has been estimated that the existing documentation for the other 10% is out of date.
The problem, it is generally agreed, has evolved from not only the high cost of producing accurate and timely documentation manually but also due to a lack of interest on the part of many programmers and analysts in preparing documentation. This lack of interest is in part due to the orientation and training of such individuals.
However, this lack of interest is also in part due to a long-term and ongoing shortage of such individuals in the market place. As a result, most qualified programmers and analysts usually are very busy attempting to meet deadlines for new systems or attempting to keep existing systems running in a satisfactory fashion.
Thus, there is now and there has been a need for a system and a method which make it possible to create user documentation without taking valuable time from the existing programmers and analyst. Further, such system and method should be relatively automatic and not require large amounts of manual input. That system and method should also be cost effective in terms of computer resources required and run time needed to produce the documentation.
User education is one of the largest problems in the development of computer systems today. Minimizing the time required to learn how to operate computer systems is crucial. If a system is difficult to learn, its value is diminished and the cost to operate the system is increased.
The problem is further compounded by high employee turnover in today's fast-paced business world. When an employee resigns he or she takes the detailed knowledge of their job. This is especially true for users of computer systems. New replacement employees often take months (and even years) to become as productive as the prior worker.
This dilemma has caused corporate management to look for new innovative training methods. In the computer field, this has often led to the development of Tutorial systems. To date these are mock-ups of the computer screens and processes. The Tutorial consists of sample screens that must simulate the operation of the actual system.
This has two major problems:
First, the development of simulated Tutorials is extremely time-consuming. Since each detail of the system must be re-created, the process is tedious and extremely expensive. It often takes as much as 8 hours for a specially trained individual to re-create a single screen.
Second, any modifications to the system (no matter how minor) must be reflected in the Tutorial. Since computer systems are continually enhanced to meet changing requirements, this is a major problem. The result causes the ongoing costs of maintaining Tutorials to skyrocket.
Thus, there is a continuing need to provide user assistance information on screens while an application is being executed. The development of such displayable information can be time consuming and expensive. There is thus a need for software tools which ease the development of such displays.